Skip to main content

go

Type

command

Summary

Navigates to another card or stack.

Syntax

go [{visible | invisible}] [to] <card> [of <stack>] [{as <mode> |in [a] new window|in <window>}]
go [{visible | invisible}] [to] {first | prev[ious]| next | last | any} [marked] [<card>]
go [{visible | invisible}] [to] {recent | start | finish | home} <card>
go {forward | forth | back[ward]} [<number>]

Description

Use the go command to move to another card in the current stack, to open a stack and go to a card within it, or to move backward and forward among recently visited cards.

If the stack is open, is closed but loaded into memory, or is listed in the current stack's stackFiles property, you can specify it simply by name:

go stack "My Stack"

Otherwise, you must include the stack's file path.

If the specified file path is relative, the go command will look in the defaultFolder.

When going to a previously-unopened stack, if you don't specify a card, the go command displays the first card of the stack. If the stack is already open, the current card of the stack appears and the stack window is brought to the front.

If the lockScreen property is set to true, the go command does not bring an already-open stack to the front until the lockScreen is set to false. (Remember that the lockScreen is automatically set to false when all pending handlers finish executing.)

If you specify a mode, the stack opens in the specified mode. If you don't specify a mode, the stack opens in whatever mode is specified by the stack's style property.

When going to a stack, you can specify a mode or a window for the stack to appear in, but not both.

Important

The style of the stack, if it is anything other than "topLevel", overrides any mode you specify in a go command. For example, if you open a stack using the statement go stack "Some Stack" as modeless, and the style of "Some Stack" is set to "palette", it opens as a palette rather than a modeless dialog box, ignoring the mode you specified.

The go... as sheet form can be used only on OS X systems. If you use this form on Mac OS, Unix, or Windows, the stack is displayed as a modal dialog box instead. If you don't specify a mode, the stack is opened with the mode specified by its style property.

If you specify a URL, the stack is downloaded from that URL and displayed. The stack must be in stack file format (that is, not compressed or archived). Stacks opened in this way are treated as unsaved stacks; the long name of such a stack is the same as its abbreviated name, until the stack is saved on a local disk. The downloaded stack is a copy: changes you make to the stack are not automatically made on the server the stack came from. To change the stack on the server, you must save the stack file locally and re-upload it.

You can go to the first, previous, next, or last card of the current stack. The form go any card goes to a random card in the current stack. If you include the marked parameter, the go command is restricted to cards whose mark property is set to true.

Each card the user visits while the lockRecent property is false is placed in the recent cards list. You can use the go command to move among the previously-visited cards:

  • The go recent card form goes to the most recently visited card.
  • The go start and go finish forms go to the first or last card in the recent cards list.
  • The go home form goes to the first card in the application's main stack. (This form is included mainly for HyperCard compatibility; the statement go home does not do anything useful in the development environment.)
  • The go back number form backs up number cards. The go forward number form moves forward in the recent cards list. "forward" and "forth" are synonyms.

If you use the go visible form, the stack is made visible after being opened. (When going to a stack, this form sets the stack's visible property to true.) Use this form of the go command to display a script-only stack without explicitly setting the visible in the openStack or preOpenStack handlers.

If you use the go invisible form, the window or card change does not show on the screen. (When going to a stack, this form sets the stack's visible property to false.) Use this form of the go command to open a stack without displaying it on screen. To display the stack later, use the show command or set its visibleto true.

Note that if a stack’s visible property is set in either the openStack or preOpenStack handlers, then this will override the expected behaviour of the go visible and go invisible forms.

Any visual effects that have been queued with the visual effect command are displayed when the go command is executed (unless the screen is locked).

tip

To test whether a stack or card exists before trying to go to it, use the there is a operator:

    if there is a card \"Index\" then go card \"Index\"
if there is a stack myPath then go card 2 of stack myPath

The go... as sheet form was introduced in LiveCode 2.0. Previous versions did not support sheet dialogs.

Parameters

NameTypeDescription

card

Any card reference. Cards can be described by their name, number, or ID properties.

stack

Any stack reference, or any file path or http URL reference that resolves to a stack file. If you specify a file path or http URL, the command opens the main stack of the specified stack file.

mode

enum

  • editable window
  • palette
  • modal dialog box
  • modeless dialog box
  • sheet dialog box - appears in defaultStack

window

The name or windowID property of any open stack. If a window is specified, the stack opens in that window, replacing the stack that was previously displayed in that window.

number

The number of cards to move within the recent cards list.

Examples

go to card 2
go to stack "Controls" as palette
go to next marked card
go back 7
go invisible stack "Preferences"
go visible stack "Script-only stack"
local tStackFile, tStackFolder
put the effective filename of me into tStackFile
set the itemDelimiter to "/"
put item 1 to -2 of tStackFile into tStackFolder
set the defaultFolder to tStackFolder
go stack "somethingElse.livecode"
-- "somethingElse" being the name of a stack file in the same folder

object: stack

property: lockRecent, lockScreen, HCImportStat, visible, defaultStack, defaultFolder

command: unlock recent, show, show cards, modeless, push

glossary: command, property

keyword: previous, recent, as, card

Compatibility and Support

Introduced

LiveCode 1.0

OS

mac

windows

linux

ios

android

Platforms

desktop

mobile

Thank you for your feedback!

Was this page helpful?